#include "utils/feature_weight.h"

double g_multi_base = -1.199055076;
double g_multi_unpaired = -0.1983300391;
double g_multi_paired = -0.9253883752;
double g_external_unpaired = -0.00972883093;
double g_external_paired = -0.0009674111431;
double g_base_pair[25] = 
    {0.0,0.0,0.0,0.59791199,0.0,
    0.0,0.0,1.544290641,0.0,0.0,
    0.0,1.544290641,0.0,-0.01304754992,0.0,
    0.59791199,0.0,-0.01304754992,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0};
double g_internal_1x1_nucleotides[25] = 
    {0.2944404686,0.08641360967,-0.3664197228,-0.2053107048,0.0,
    0.08641360967,-0.1582543624,0.4175273724,0.1368762582,0.0,
    -0.3664197228,0.4175273724,-0.1193514754,-0.4188101413,0.0,
    -0.2053107048,0.1368762582,-0.4188101413,0.147140653,0.0,
    0.0,0.0,0.0,0.0,0.0};
double g_helix_stacking[625] = 
    {0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.1482005248,0.0,0.0,0.0,0.4343497127,0.0,0.0,0.0,0.7079642577,0.0,-0.1010777582,0.0,
    0.243256656,0.0,0.1623654243,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4878707793,0.0,0.0,0.0,0.8481320247,0.0,0.0,
    0.0,0.4784248478,0.0,-0.1811268205,0.0,
    0.7079642577,0.0,0.4849351028,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5551785831,0.0,0.0,0.0,0.5008324248,0.0,0.0,0.0,0.8481320247,0.0,0.2165962476,0.0,
    0.4343497127,0.0,0.4864603589,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.04665365028,0.0,0.0,0.0,0.4864603589,0.0,0.0,
    0.0,0.4849351028,0.0,0.1833447295,0.0,
    0.1623654243,0.0,-0.2858970755,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3897593783,0.0,0.0,0.0,0.5551785831,0.0,0.0,
    0.0,0.4878707793,0.0,-0.1157333764,0.0,
    0.1482005248,0.0,-0.04665365028,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,-0.1157333764,0.0,0.0,0.0,0.2165962476,0.0,0.0,0.0,-0.1811268205,0.0,0.120296538,0.0,
    -0.1010777582,0.0,0.1833447295,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0};
double g_terminal_mismatch[625] = 
    {0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    -0.184546064,-0.1181844187,-0.4461469607,-0.6175254495,0.0,
    0.004788458708,0.08319395146,-0.2249479995,-0.3981327204,0.0,
    0.5191110288,-0.3524119307,-0.4056429433,-0.7733932162,0.0,
    -0.01574403519,0.268570042,-0.0934388741,0.3373711531,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,
    0.08386423535,-0.2520716816,-0.6711841881,-0.3816350028,0.0,
    0.1117852189,-0.1704393624,-0.2179987732,-0.459267635,0.0,
    0.8520640313,-0.9332488517,-0.3289551692,-0.7778822056,0.0,
    -0.2422339958,-0.03780509247,-0.4322334143,-0.2419976114,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,
    -0.1703136025,-0.09154056357,-0.2522413002,-0.8520314799,0.0,
    0.04763224188,-0.2428654283,-0.2079275061,-0.1874270053,0.0,
    0.6540033983,-0.7823988605,0.1995898255,-0.4432169392,0.0,
    -0.1736921762,0.288494362,-0.01638238057,0.6757988971,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,
    -0.4871607613,0.1105031953,0.363373916,-0.6193199348,0.0,
    0.3451056056,0.0314944976,-0.3799172956,-0.03222973182,0.0,
    0.4948638637,-0.2821952552,-0.2702227211,-0.06658395291,0.0,
    -0.4306154451,-0.09497863465,-0.3130794485,-0.2283242981,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,
    0.0115363879,-0.3923408221,0.05661063599,-0.1251485388,0.0,
    -0.06545074758,-0.3167200568,0.002258383981,-0.422217724,0.0,
    0.5458416646,-0.2085887954,-0.1971766062,-0.4722410132,0.0,
    -0.1779642496,0.1643454344,-0.5005617032,0.1333867679,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,
    0.1218741278,0.1990260141,0.04681893928,0.3256264491,0.0,
    0.1186812326,-0.1851065102,-0.04311512683,-0.6150608139,0.0,
    0.754933218,-0.3150708483,0.1569582926,-0.514970007,0.0,
    -0.2926246029,0.1373068149,-0.05422333363,0.03086776921,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0};
double g_bulge_0x1_nucleotides[5] = {-0.1216861662,-0.07111241127,0.008947026647,-0.002685763742,0.0};
double g_helix_closing[25] = 
    {0.0,0.0,0.0,-0.9770893163,0.0,
    0.0,0.0,-0.4574650937,0.0,0.0,
    0.0,-0.8265995623,0.0,-1.051678928,0.0,
    -0.9246140521,0.0,-0.3698708172,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0};
double g_dangle_left[125] = 
    {0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,-0.1251037681,0.0441606708,-0.02541879082,0.00785098466,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.07224381372,0.05279281874,0.1009554299,-0.1515059013,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,-0.1829535099,0.03393000394,0.1335339061,-0.1604274506,0.0,
    0.0,0.0,0.0,0.0,0.0,-0.06517511341,-0.04250882422,0.02875971806,-0.04359727428,0.0,
    0.0,0.0,0.0,0.0,0.0,-0.03373847659,-0.005070324324,-0.1186861149,-0.01162357727,0.0,
    0.0,0.0,0.0,0.0,0.0,-0.08047139148,0.001608000669,0.1016272216,-0.09200842832,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0};
double g_dangle_right[125] = 
    {0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.03232578201,-0.09096819493,-0.0740750973,-0.01621157379,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.2133964379,-0.06234810991,-0.07008531041,-0.2141912285,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.01581957549,0.005644320058,-0.00943297687,-0.2597793095,0.0,
    0.0,0.0,0.0,0.0,0.0,-0.04480271781,-0.07321213002,0.01270494867,-0.05717033985,0.0,
    0.0,0.0,0.0,0.0,0.0,-0.1631918513,0.06769304994,-0.08789074414,-0.05525570007,0.0,
    0.0,0.0,0.0,0.0,0.0,0.04105458185,-0.008136642572,-0.03808592022,-0.08629373429,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
    0.0,0.0,0.0,0.0,0.0};
double g_internal_explicit[21] = 
    {0.0,0.0,0.0,0.0,0.0,-0.1754591076,0.03083787104,-0.171565435,-0.2294680983,0.0,
    -0.1304072693,-0.07730329553,0.2782767264,0.0,0.0,-0.02898949617,0.3112350694,0.0,0.0,0.0,-0.3226348245};
double g_hairpin_length[31] = 
    {-5.993180158,-9.10128592,-8.6843882853,-6.4789692193,-4.5522195273,
    -5.1395440602,-5.222301238,-4.6439122536,-5.3660005908,-5.5385880532,
    -5.8410970399,-5.8707286338,-6.7976282286,-6.82920576838,-6.93145297848,
    -6.74131224388,-6.83412134214,-6.66507650134,-6.74680216605,-7.09139606915,
    -7.20054636315,-7.49089873245,-7.83027009915,-8.02180651085,-8.07199860464,
    -8.11074481388,-8.06323010636,-7.9957868871,-7.89856812984,-7.73125495654,
    -7.49826123164};
double g_bulge_length[31] = 
    {0.0,-2.399548472,-3.2940667837,-4.2029218746,-5.0441693501,
    -5.4807172844,-6.0506360645,-5.8503526421,-5.0964765063,-5.7009810518,
    -6.4210758616,-6.9347480537,-7.2962207216,-7.5576661608,-7.7170588501,
    -7.80330553291,-7.83437644287,-7.84534866319,-7.81533646036,-7.76774522247,
    -7.81070694312,-7.82862593974,-7.90663145496,-7.97762471926,-8.03530424822,
    -8.08164219503,-8.11723639959,-8.14398574353,-8.16217532325,-8.17269833057,
    -8.17785195742};
double g_internal_length[31] = 
    {0.0,0.0,-0.429061443,-0.7822725931,-1.1786523466,
    -1.4897722641,-1.7449668113,-1.79645798028,-1.83964800435,-1.83766251486,
    -2.01381382847,-2.27778244917,-2.62384380687,-2.91650411476,-2.95274661783,
    -3.07274199393,-3.11628971319,-3.19838264454,-3.20549587058,-3.18194762206,
    -3.15127788635,-3.21746029729,-3.34906953559,-3.48986908699,-3.55587200561,
    -3.63366405305,-3.6845060657,-3.72590482171,-3.72262823831,-3.71670365547,
    -3.70982791746};
double g_internal_symmetric_length[16] = 
    {0.0,-0.5467082599,-0.9321784246,-1.1910250647,
    -1.4251087392,-1.2800509627,-1.9363442142,-2.2384530511,
    -2.26877580377,-2.62057020957,-2.83648346017,-2.95931050557,
    -3.11453136507,-3.1999425725,-3.24586367049,-3.26818601285};
double g_internal_asymmetry[29] = 
    {0.0,-2.105646719,-2.6576607621,-3.2347315291,-3.8483983138,
    -4.1541139979,-4.269619198,-4.4801804211,-4.7947547341,-5.1096509022,
    -5.19983279712,-5.41983547652,-5.56048380082,-5.77672492672,-5.94927807022,
    -6.10516925682,-6.20925512312,-6.2789319654,-6.31999174034,-6.3356979835,
    -6.32187797711,-6.28055809148,-6.24461623198,-6.21639436916,-6.20002851042,
    -6.17452794867,-6.14104762074,-6.10132837662,-6.10387349055};
double g_hairpin_length_at_least[31] = 
    {-5.993180158,-3.108105762,0.4168976347,2.205419066,1.926749692,
    -0.5873245329,-0.0827571778,0.5783889844,-0.7220883372,-0.1725874624,
    -0.3025089867,-0.0296315939,-0.9268995948,-0.03157753978,-0.1022472101,
    0.1901407346,-0.09280909826,0.1690448408,-0.08172566471,-0.3445939031,
    -0.109150294,-0.2903523693,-0.3393713667,-0.1915364117,-0.05019209379,
    -0.03874620924,0.04751470752,0.06744321926,0.09721875726,0.1673131733,
    0.2329937249};
double g_bulge_length_at_least[31] = 
    {0.0,-2.399548472,-0.8945183117,-0.9088550909,-0.8412474755,
    -0.4365479343,-0.5699187801,0.2002834224,0.7538761358,-0.6045045455,
    -0.7200948098,-0.5136721921,-0.3614726679,-0.2614454392,-0.1593926893,
    -0.08624668281,-0.03107090996,-0.01097222032,0.03001220283,0.04759123789,
    -0.04296172065,-0.01791899662,-0.07800551522,-0.0709932643,-0.05767952896,
    -0.04633794681,-0.03559420456,-0.02674934394,-0.01818957972,-0.01052300732,
    -0.005153626846};
double g_internal_length_at_least[31] = 
    {0.0,0.0,-0.429061443,-0.3532111501,-0.3963797535,
    -0.3111199175,-0.2551945472,-0.05149116898,-0.04319002407,0.001985489485,
    -0.1761513136,-0.2639686207,-0.3460613577,-0.2926603079,-0.03624250307,
    -0.1199953761,-0.04354771926,-0.08209293135,-0.007113226038,0.02354824852,
    0.03066973571,-0.06618241094,-0.1316092383,-0.1407995514,-0.06600291862,
    -0.07779204744,-0.05084201265,-0.04139875601,0.003276583405,0.00592458284,
    0.006875738004};
double g_internal_symmetric_length_at_least[16] = 
    {0.0,-0.5467082599,-0.3854701647,-0.2588466401,
    -0.2340836745,0.1450577765,-0.6562932515,-0.3021088369,
    -0.03032275267,-0.3517944058,-0.2159132506,-0.1228270454,
    -0.1552208595,-0.08541120743,-0.04592109799,-0.02232234236};
double g_internal_asymmetry_at_least[29] = 
    {0.0,-2.105646719,-0.5520140431,-0.577070767,-0.6136667847,
    -0.3057156841,-0.1155052001,-0.2105612231,-0.314574313,-0.3148961681,
    -0.09018189492,-0.2200026794,-0.1406483243,-0.2162411259,-0.1725531435,
    -0.1558911866,-0.1040858663,-0.06967684228,-0.04105977494,-0.01570624316,
    0.01382000639,0.04131988563,0.0359418595,0.02822186282,0.01636585874,
    0.02550056175,0.03348032793,0.03971924412,-0.002545113932};
